package com.lekang.mapper;

import java.util.List;
import com.lekang.domain.Elderly;
import org.apache.ibatis.annotations.Mapper;

/**
 * 老人Mapper接口
 * 
 * @author ruoyi
 * @date 2025-10-13
 */
@Mapper
public interface ElderlyMapper 
{
    /**
     * 查询老人
     * 
     * @param id 老人主键
     * @return 老人
     */
    public Elderly selectElderlyById(Long id);

//    入退专用查询老人
    public Elderly selectElderlyById1(Long id);
    /**
     * 查询老人列表
     * 
     * @param elderly 老人
     * @return 老人集合
     */
    public List<Elderly> selectElderlyList(Elderly elderly);

    /**
     * 新增老人
     * 
     * @param elderly 老人
     * @return 结果
     */
    public int insertElderly(Elderly elderly);

    /**
     * 修改老人
     * 
     * @param elderly 老人
     * @return 结果
     */
    public int updateElderly(Elderly elderly);

    /**
     * 删除老人
     * 
     * @param id 老人主键
     * @return 结果
     */
    public int deleteElderlyById(Long id);

    /**
     * 批量删除老人
     * 
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteElderlyByIds(Long[] ids);

    /**
     * 根据床位ID查询在住老人的ID列表
     * 
     * @param bedId 床位ID
     * @return 老人ID列表
     */
    public List<Long> selectElderlyIdsByBedId(Long bedId);

    /**
     * 解除老人与床位的绑定关系（将bed_id设置为null）
     * 
     * @param elderlyId 老人ID
     * @return 结果
     */
    public int unbindBedFromElderly(Long elderlyId);

     /**
     * 单纯统计elderly表的所有老人总数（包含已删除标记的数据）
     *
     * @return 老人总数
     */
    public int countElderlyOnly();

    /**
     * 统计sys_user表全量数据（包含已逻辑删除的记录）
     *
     * @return 员工总数
     */
    public int countAllSysUser();
}
